package com.jinly.ryder.flow.web.vo;


import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinly.ryder.common.auth.annotation.Username;
import com.jinly.ryder.flow.service.model.ApplyStatus;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 流程申请表
 */
@Data
public class FlowApplyVO {


    private Long id;

    /**
     * 流程规则ID
     */
    private Integer flowRuleId;

    /**
     * 流程名称
     */
    private String flowName;

    /**
     * 应用名称
     */
    private String appName;

    /**
     * 申请人
     */
    private Long applyUserId;

    @Username("applyUserId")
    private String applyUserName;

    /**
     * 申请标题
     */
    private String applyTitle;

    /**
     * 申请状态
     */
    private ApplyStatus applyStatus;

    /**
     * 申请表单数据
     */
    private JSONObject applyFormData;

    /**
     * 申请备注
     */
    private String remark;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime created;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updated;

    /**
     * 审核列表
     */
    private List<FlowAuditVO> auditList;

    /**
     * 当前的审批
     */
    private FlowAuditVO currFlowAudit;


}
